package com.ruoyi.decision.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 预案对象 s_plm_rts_task
 * 
 * @author zbw
 * @date 2022-07-19
 */
public class Task extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private String userId;

    /** 预案ID */
    private String taskId;

    /** 预案名称 */
    @Excel(name = "预案名称")
    private String taskName;

    /** 适合场景 */
    @Excel(name = "适合场景")
    private String sceneId;

    /** 问题时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "问题时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date problemTime;

    /** 问题地域 */
    @Excel(name = "问题地域")
    private String problemArea;

    /** 问题描述 */
    @Excel(name = "问题描述")
    private String problemDescription;

    /** 达到目标 */
    @Excel(name = "达到目标")
    private String taskTarget;

    /** 预案状态 */
    @Excel(name = "预案状态")
    private Integer taskState;

    /** 预案描述 */
    @Excel(name = "预案描述")
    private Long description;

    /** 创建人 */
    @Excel(name = "创建人")
    private String addUser;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 预计结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getSceneId() {
        return sceneId;
    }

    public void setSceneId(String sceneId) {
        this.sceneId = sceneId;
    }

    public Date getProblemTime() {
        return problemTime;
    }

    public void setProblemTime(Date problemTime) {
        this.problemTime = problemTime;
    }

    public String getProblemArea() {
        return problemArea;
    }

    public void setProblemArea(String problemArea) {
        this.problemArea = problemArea;
    }

    public String getProblemDescription() {
        return problemDescription;
    }

    public void setProblemDescription(String problemDescription) {
        this.problemDescription = problemDescription;
    }

    public String getTaskTarget() {
        return taskTarget;
    }

    public void setTaskTarget(String taskTarget) {
        this.taskTarget = taskTarget;
    }

    public Integer getTaskState() {
        return taskState;
    }

    public void setTaskState(Integer taskState) {
        this.taskState = taskState;
    }

    public Long getDescription() {
        return description;
    }

    public void setDescription(Long description) {
        this.description = description;
    }

    public String getAddUser() {
        return addUser;
    }

    public void setAddUser(String addUser) {
        this.addUser = addUser;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("taskId", getTaskId())
            .append("taskName", getTaskName())
            .append("sceneId", getSceneId())
            .append("problemTime", getProblemTime())
            .append("problemArea", getProblemArea())
            .append("problemDescription", getProblemDescription())
            .append("taskTarget", getTaskTarget())
            .append("taskState", getTaskState())
            .append("description", getDescription())
            .append("addUser", getAddUser())
            .append("addTime", getAddTime())
            .append("endTime", getEndTime())
            .append("updateTime", getUpdateTime())
                .append("userId", getUserId())
            .toString();
    }
}
